package com.digicom.common.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 评论实体类
 */
@Data
@TableName("dg_comment")
public class Comment implements Serializable {
    private static final long serialVersionUID = 1L;

    /** 评论ID */
    @TableId(value = "comment_id", type = IdType.AUTO)
    private Long commentId;
    
    /** 父评论ID */
    private Long parentId;
    
    /** 文章ID */
    private Long articleId;
    
    /** 文章标题 */
    private String articleTitle;
    
    /** 用户ID */
    private Long userId;
    
    /** 用户名 */
    private String userName;
    
    /** 用户头像 */
    private String avatar;
    
    /** 评论内容 */
    private String content;
    
    /** 客户端类型 */
    private String clientType;
    
    /** IP地址 */
    private String ip;
    
    /** 评论状态（0待审核 1正常 2驳回） */
    private String status;
    
    /** 应用同步状态（0未同步 1已同步） */
    private String syncApp;
    
    /** A审核人 */
    private String reviewBy;
    
    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date reviewTime;
    
    /** 审核备注 */
    private String reviewRemark;
    
    /** 点赞数 */
    private Integer likeCount;
    
    /** 回复数 */
    private Integer replyCount;
    
    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    
    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    
    /** 删除标志（0代表存在 1代表删除） */
    @TableLogic
    private String delFlag;
    
    /** 回复列表 */
    @TableField(exist = false)
    private List<Comment> replies;
    
    /** 查询参数：页码 */
    @TableField(exist = false)
    private Integer pageNum;
    
    /** 查询参数：每页记录数 */
    @TableField(exist = false)
    private Integer pageSize;
} 